package src.week9.SHIYAN6.Demo2;

/**
 * @Author： 20192315裴湘瑞
 * @Date: 2020/11/5 16:42
 * @Version: 1.0
 * @Target：实现节点插入、删除、输出操作
 * @Requirement：
 * 继续你上一个程序， 扩展它的功能，每做完一个新功能，或者写了超过10行新代码，就签入代码，提交到源代码服务器；
 *
 * 	从磁盘读取一个文件， 这个文件有两个数字。
 * 	从文件中读入数字1，  插入到链表第 5 位，并打印所有数字，和元素的总数。 保留这个链表，继续下面的操作。
 * 	从文件中读入数字2， 插入到链表第 0 位，并打印所有数字，和元素的总数。 保留这个链表，并继续下面的操作。
 * 	从链表中删除刚才的数字1.  并打印所有数字和元素的总数。
 *
 * 签入所有代码。
 */

import java.io.*;
import java.util.Scanner;

public class ShiYan6_2
{
    public static void main(String[] args) throws IOException
    {
        ShiYan6_2_Link link = new ShiYan6_2_Link();
        Scanner scan = new Scanner(System.in);
        int n,a,b;

        File file = new File("ShiYan6_2.txt");
        if (!file.exists()){
            file.createNewFile();
        }
        OutputStream outputStream1 = new FileOutputStream(file);
        byte[] test1 = {'2','4'};
        outputStream1.write(test1);

        InputStream inputStream1 = new FileInputStream(file);
        a = (char) inputStream1.read()-48;
        b = (char) inputStream1.read()-48;

        System.out.print("请输入整数，输入完毕请以0结束：");
        for (;;)
        {
            n = scan.nextInt();
            if (n == 0)
            {
                break;
            }
            link.AddNode(n);
        }
        System.out.println("输入完毕！");
        System.out.print("输入的链表为：");
        link.Print();
        link.InsertNode(5,a);
        System.out.print("将数据a添加进链表中：");
        link.Print();
        link.InsertNode(3,b);
        System.out.print("将数据b添加进链表中：");
        link.Print();
        System.out.print("删除数据a：");
        link.DeleteNode(6);
        link.Print();
        System.out.println("链表中剩下的元素个数为："+link.Length());
    }
}
